package com.study.design.pattern.pattern.behavioral.state;

/**
 * @Author: gongsl
 * @Date: 2025-03-29 21:32
 * @description: 订单状态接口 - 定义订单生命周期中所有可能的状态转换操作
 */
public interface OrderState {
    /**
     * 支付操作
     * @param context 订单上下文，用于状态变更
     */
    void pay(OrderContext context);

    /**
     * 取消订单操作
     * @param context 订单上下文，用于状态变更
     */
    void cancel(OrderContext context);

    /**
     * 发货操作
     * @param context 订单上下文，用于状态变更
     */
    void ship(OrderContext context);

    /**
     * 确认收货操作
     * @param context 订单上下文，用于状态变更
     */
    void receive(OrderContext context);
}
